/*!
 *file name : iic_dev.c
 *author :hu
 *
 *description:
 */
#include "i2c.h"
#include "i2c_lib.h"


#define DEV_ADDR_W 0x70
#define DEV_ADDR_R 0x71
#define ACK 0
#define NO_ACK

//定义一个I2COperation结构体变量
//所有函数需要根据具体硬件实现，再赋给i2cHandle的函数指针成员
I2COperation i2cHandle = {
	.configFun = config_Fun，	
	.setSCL = set_SCL，
	.setSDA = set_SDA，
	.setDir = set_Dir，
	.getSDALevel = get_SDA_Level，
	.delay = delay_i2c
};

/*!
 *
 *说明：iic设备使用示例（具体根据设备的协议设计详细读写时序）
 *参数：
 *返回值：
 */
void DevicexxxInit()
{
	UINT8 readByte，writeByte;
	/**do something**/
	//初始化示例
	I2COperation * pHandle=&i2cHandle;
	pHandle->configFun();//iic引脚初始化配置
	/*do something*/

	//发送起始位
	i2cStart(pHandle);


	//发送从机地址（写模式）
	if(i2cSendByte(pHandle),DEV_ADDR_W)//返回1，表示从机无应答
	{
		//无应答，执行相应处理
	}
	//发送数据
	writeByte=xx;
	if(i2cSendByte(pHandle),writeByte)//返回1，表示从机无应答
	{
		//无应答，执行相应处理
	}	

	//发送从机地址（读模式）
	if(i2cSendByte(pHandle),DEV_ADDR_R)//返回1，表示从机无应答
	{
		//无应答，执行相应处理
	}
	//读数据，并给从机应答
	readByte=i2cReceiveByte(pHandle,ACK);

	//发送停止位
	i2cStop(pHandle);
}